home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
R-Shows
/
(c)woc vi 88.d64
/
terminal.c1 v2a4
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-04
|
3KB
|
110 lines
0 REM MODIFIED BY CHRIS WAWRZYNIAK
1 REM ON:MON.JUNE 27TH.'88.
2 :
10 REM *** NEW PROTOCOL ***
20 REM RELEASE 2.2A: MAR 15 1986
30 REM BY STEVE PUNTER
35 REM 300 +/- BAUD BY GEOFF WELSH
40 IFPEEK(49152)<>169THENLOAD"PUNTER.ML",8,1
50 OPEN5,2,0,CHR$(8):GET#5,A$:BS=255:OPEN1,8,15:DIMT$(3):SYS49176
60 TY$="PSP":T$(1)="[208]ROGRAM":T$(2)="[211][197][209]":T$(3)="[215]ORD[208]RO":CS=1.02273E6
70 BR$="300":GOSUB6000:POKE53280,0:POKE53281,0
80 PRINT"[147][154][[200][207][205][197]] = MAIN MENU[153][207]PTION: ("+BR$+" [194]AUD) [194]LOCK [211]IZE ="BS""
81 PRINT TAB(16)"[205][193][201][206] [205][197][206][213][153]"
90 PRINT" 1 - [212]ERMINAL [205]ODE"
100 PRINT" 2 - [212]RANSMIT A [198]ILE"
110 PRINT" 3 - [210]ECEIVE A [198]ILE"
120 PRINT" 4 - [195]HANGE [194]LOCK [211]IZE"
130 PRINT" 5 - [195]HANGE [194]AUD [210]ATE 1200, 300 (+/-)"
135 PRINT" 6 - [196]IAL 1670"
140 GETA$:IFA$=""THEN140
150 IFA$="2"THEN1000
160 IFA$="3"THEN2000
170 IFA$="4"THEN3000
180 IFA$="1"THENPRINT"[212]ERMINAL [205]ODE:":GOTO4000
190 IFA$="5"THEN6700
195 IFA$="6"THEN7000
200 GOTO140
1000 PRINT"[208]ROGRAM [206]AME? ";:GOSUB5000:IFI$=""ORFL=1THEN80
1010 PRINT"[198]ILE [212]YPE ([208], [211], OR [215])? [146][157]";
1020 GETA$:IFA$=""THEN1020
1030 IFA$="[133]"THEN80
1040 IFA$="P"THENSA=0:T=1:GOTO1080
1050 IFA$="S"THENSA=2:T=2:GOTO1080
1060 IFA$="W"THENSA=0:T=3:GOTO1080
1070 GOTO1020
1080 PRINTT$(T)"":OPEN2,8,SA,I$:INPUT#1,E$,EM$,T$,S$
1090 IFVAL(E$)>0THENPRINT""E$","EM$","T$","S$:CLOSE2:GOTO1010
1120 SYS49173:POKE51227,T:SYS49164:IFPEEK(512)=1THENCLOSE2:GOTO4000
1130 SYS49173:POKE51224,BS:SYS49158:CLOSE2:GOTO4000
2000 PRINT"[211]AVE [193]S? ";:GOSUB5000:IFI$=""ORFL=1THEN80
2010 SYS49173:SYS49161:IFPEEK(512)=1THEN4000
2020 T$=","+MID$(TY$,PEEK(51227),1)+",W"
2021 IFLEFT$(I$,2)<>"1:"ANDLEFT$(I$,3)<>"@0:"ANDLEFT$(I$,3)<>"@1:"THENI$="0:"+I$
2025 PRINT"[198]ILE [212]YPE: "T$(PEEK(51227))
2030 OPEN2,8,2,I$+T$:FORX=1TO1300:NEXTX:PRINT:SYS61310
2040 SYS49173:SYS49155:CLOSE2:FORX=1TO1500:NEXTX:POKE668,PEEK(667):GOTO4000
3000 PRINT"[194]LOCK [211]IZE? ";:GOSUB5000:IFI$=""THEN80
3010 BS=VAL(I$):IFBS<40THENBS=40
3020 IFBS>255THENBS=255
3030 GOTO80
4000 PRINT
4010 SYS49173:SYS49167:GOTO80
5000 I$="":FL=0
5010 PRINT" [146][157]";
5020 GETA$:IFA$=""THEN5020
5030 IFA$=CHR$(13)THEN5100
5040 IFA$=CHR$(20)THEN5080
5045 IFA$="[133]"THENFL=1:GOTO5100
5050 IFLEN(A$)>20THEN5020
5060 IF(ASC(A$)AND127)<32THEN5020
5070 PRINTA$;:I$=I$+A$:GOTO5010
5080 IFLEN(I$)=0THEN5020
5090 PRINT" [157][157]";:I$=LEFT$(I$,LEN(I$)-1):GOTO5010
5100 PRINT" ":RETURN
6000 S=VAL(BR$):POKE659,6:IFS=1200THENPOKE659,8
6010 RC=CS/S:GOSUB6500:POKE51968,LO:POKE51969,HI
6020 IFS=1200THENRC=CS/S*.966:GOSUB6500
6030 POKE665,LO:POKE666,HI
6040 RC=CS/S/2-100:GOSUB6500:POKE661,LO:POKE662,HI:RETURN
6500 HI=INT(RC/256):LO=INT(RC-HI*256):RETURN
6700 PRINT"[206]EW BAUD RATE ([210][197][212][213][210][206] FOR 300)? ";:GOSUB5000:IFI$=""THENI$="300"
6710 I=VAL(I$):IFI=1200OR(I>49ANDI<501)THENBR$=I$:GOSUB6000:GOTO80
6720 PRINT"[201]NVALID BAUD RATE!":GOTO6700
6900 GET#5,A$:IFA$=""THEN6900
6910 RETURN
6920 GOSUB6900:IFA$<>"0"THEN6920
6930 RETURN
6940 GET#5,A$:IFA$<>""THEN6940
6950 RETURN
6960 T=TI
6970 IFTI<T+65THEN6970
6980 RETURN
7000 PRINT"[147][196]IAL OUT VIA 1670.":C=0:PRINT#5,"+++";
7002 PRINT"[208][146]ULSE OR [212][146]ONE?"
7004 GETA$:IFA$<>"P"ANDA$<>"T"THEN7004
7006 D$="ATDP":IFA$="T"THEND$="ATDT"
7010 PRINT"ENTER NUMBER OR [210][197][212][213][210][206]:";:I$="":GOSUB5000:IFI$=""THEN7050
7020 PRINT"1200 BAUD (Y/N)?";
7030 GETA$:IFA$<>"Y"ANDA$<>"N"THEN7030
7032 PRINTA$:PRINT"[204]ONG DISTANCE (Y/N)?";
7034 GETB$:IFB$<>"Y"ANDB$<>"N"THEN7034
7040 PRINTB$:C=C+1:N$(C)=I$:HS(C)=-(A$="Y"):LD(C)=-(B$="Y"):IFC<10THEN7010
7050 PRINT"[147][196]IALING:":IFC=0THEN80
7070 PRINT#5,"ATE0 V0 S0=0 M0":GOSUB6960
7115 FORI=1TOC
7120 BR$="300":IFHS(I)THENBR$="1200"
7122 DE$="15":IFLD(I)THENDE$="25"
7124 PRINT#5,"ATS7="DE$:GOSUB6960:GOSUB6940
7130 GOSUB6000:PRINT#5,D$N$(I):PRINTN$(I):T=TI
7140 GET#5,A$:GETB$:IFA$="1"OR(PEEK(56577)AND16)=0THENA$="1":GOSUB7200:GOTO180
7150 IFA$="3"ORTI>T+3600THENGOSUB6960:PRINT"[145] [145]":NEXTI:GOTO7115
7160 IFB$="[133]"ORB$="[134]"ORB$="[135]"THENPRINT#5," ";
7170 IFB$="[134]"THEN7000
7180 IFB$="[133]"THEN80
7190 GOTO7140
7200 FORI=54272TO54296:POKEI,0:NEXT:POKE54275,4:POKE54278,240:POKE54296,15
7210 POKE54276,65:FORI=30TO130:POKE54273,I:FORJ=1TO10:NEXT:NEXT
7220 FORI=130TO30STEP-1:POKE54273,I:FORJ=1TO10:NEXT:NEXT
7230 FORI=54272TO54296:POKEI,0:NEXT:RETURN